import { IsString, IsOptional } from 'class-validator';

/**
 * 微信登录 DTO
 */
export class WechatLoginDto {
  /**
   * 微信登录凭证 code（通过 wx.login() 获取）
   */
  @IsString()
  code: string;

  /**
   * 加密数据（手机号加密数据，通过 button open-type="getPhoneNumber" 获取）
   */
  @IsString()
  @IsOptional()
  encryptedData?: string;

  /**
   * 加密算法的初始向量
   */
  @IsString()
  @IsOptional()
  iv?: string;

  /**
   * 微信昵称
   */
  @IsString()
  @IsOptional()
  nickname?: string;

  /**
   * 微信头像 URL
   */
  @IsString()
  @IsOptional()
  avatarUrl?: string;

  /**
   * 性别（0-未知，1-男，2-女）
   */
  @IsOptional()
  gender?: number;
}
